From: Florian Müllner Date: Wed, 16 Jun 2021 23:50:50 +0000 (+0200) Subject: shellDBus: Use MetaContext:unsafe-mode to restrict Eval() X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~574^2^2~34 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=7298ee23e91b756c7009b4d7687dfd8673856f8b;p=gnome-shell.git shellDBus: Use MetaContext:unsafe-mode to restrict Eval() The Eval() method is unarguably the most sensitive D-Bus method we expose, since it allows running arbitrary code in the compositor. It is currently tied to the `development-tools` settings that is enabled by default. As users have become accustomed to the built-in commands that are enabled by the same setting (restart, lg, ...), that default cannot easily be changed. In order to restrict the method without affecting the rather harmless commands, guard it by the new MetaContext:unsafe-mode property instead of the setting. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3943 Part-of: --- diff --git a/js/ui/shellDBus.js b/js/ui/shellDBus.js index 6574cc528..2f21ba41d 100644 --- a/js/ui/shellDBus.js +++ b/js/ui/shellDBus.js @@ -54,7 +54,7 @@ var GnomeShell = class { * */ Eval(code) { - if (!global.settings.get_boolean('development-tools')) + if (!global.context.unsafe_mode) return [false, '']; let returnValue;